﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SIGERP_Datos;
using SIGERP_Entidades;

namespace SIGERP_Negocio
{
    public class Departamentos
    {
        public static List<Departamento> buscarDepartamentos()
        {
            return HndDepartamento.getAll();
        }

        public static List<Departamento> buscarDepartamentosHabilitados()
        {
            return HndDepartamento.getAllEnabled();
        }


        public static Departamento buscarDepartamento(int id)
        {
            return HndDepartamento.getOne(id);
        }

        public static List<Departamento> buscarDepartamentosUsuario(Usuario usuario) {
            return HndDepartamento.getAllWhereUser(usuario);
        }

        public static List<Departamento> buscarDepartamentosArea(Area a)
        {
            return HndDepartamento.getAllWhereArea(a);
        }

        public static List<Departamento> buscarDepartamentosUsuarioArea(Usuario usuario,Area area)
        {
            return HndDepartamento.getAllWhereUserArea(usuario,area);
        }

        public static Boolean actualizar(Departamento d)
        {
            return HndDepartamento.update(d);
        }

        public static Boolean borrar(Departamento d)
        {
            return HndDepartamento.delete(d);
        }

        public static Boolean nuevo(Departamento d)
        {
            return HndDepartamento.insert(d);
        }

        public static bool verificarSiExiste(Departamento d)
        {
            return HndDepartamento.verificarSiExiste(d);
        }

        public static bool hayUsuariosAsociados(Departamento dto)
        {
            return HndDepartamento.hayUsuariosAsociados(dto);
        }

        public static bool hayReclamosAsociados(Departamento dto)
        {
            return HndDepartamento.hayReclamosAsociados(dto);
        }

        public static bool deshabilitarDepto(Departamento dto) 
        {
            return HndDepartamento.disable(dto);
        }

        public static bool hayDerivacionesAsociadas(Departamento dto)
        {
            return HndDepartamento.hayDerivacionesAsociadas(dto);
        }

        public static bool hayIntervencionesAsociadas(Departamento dto)
        {
            return HndDepartamento.hayIntervencionesAsociadas(dto);
        }

        public static bool haySubtiposAsociados(Departamento dto)
        {
            return HndDepartamento.haySubtiposAsociados(dto);
        }
    }
}
